package com.alks.function.data.dto.finance.salary;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
@ToString
public class PcSalaryNewDto {

    private String companyId;

    @ApiModelProperty("月份")
    private String yyyymm;

    @ApiModelProperty("部门代码")
    private String deptNo;

    @ApiModelProperty("部门名称")
    private String deptName;

    @ApiModelProperty("工号")
    private String workerId;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("年龄")
    private Integer age;

    @ApiModelProperty("职务")
    private String position;

    @ApiModelProperty("工种")
    private String workType;

    @ApiModelProperty("计时/计件")
    private String calcType;

    @ApiModelProperty("身份证")
    private String idNo;

    @ApiModelProperty("进厂日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private LocalDate dateIn;

    @ApiModelProperty("离职日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private LocalDate delDate;

    @ApiModelProperty("离职原因")
    private String delReason;

    @ApiModelProperty("开户名")
    private String bankCardUser;

    @ApiModelProperty("开户行")
    private String bankCardName;

    @ApiModelProperty(value = "银行卡号")
    private String bankCardId;

    @ApiModelProperty(value = "自然天数")
    private BigDecimal attendance;

    @ApiModelProperty(value = "公休天数")
    private BigDecimal attendanceOver;

    @ApiModelProperty("出勤天数")
    private BigDecimal attendanceAct;

    @ApiModelProperty(value = "基本工资")
    private BigDecimal basicSalary;

    @ApiModelProperty(value = "计时工资")
    private BigDecimal positionAlw;

    @ApiModelProperty("计件工资")
    private BigDecimal positionAlw2;

    @ApiModelProperty(value = "绩效工资")
    private BigDecimal salaryAlw;

    @ApiModelProperty(value = "补贴")
    private BigDecimal minSalary;

    @ApiModelProperty("加班工资")
    private BigDecimal overSalary;

    @ApiModelProperty("奖励")
    private BigDecimal allowance;

    @ApiModelProperty("补发")
    private BigDecimal injuryAlw;

    @ApiModelProperty(value = "其他")
    private BigDecimal introduceBonus;

    @ApiModelProperty("小计")
    private BigDecimal leaveAlw;

    @ApiModelProperty(value = "社医保")
    private BigDecimal unionM;

    @ApiModelProperty("个税")
    private BigDecimal taxM;

    @ApiModelProperty(value = "厂服厂牌费用")
    private BigDecimal clothesM;

    @ApiModelProperty(value = "水电费")
    private BigDecimal waterEleM;

    @ApiModelProperty(value = "迟到漏打卡")
    private BigDecimal mealM;

    @ApiModelProperty("旷工扣款")
    private BigDecimal absenceM;

    @ApiModelProperty("倒欠工资")
    private BigDecimal waterM;

    @ApiModelProperty("个人借款")
    private BigDecimal repayM;

    @ApiModelProperty(value = "其他乐捐")
    private BigDecimal otherM;

    @ApiModelProperty("小计")
    private BigDecimal minusM;

    @ApiModelProperty("实发工资")
    private BigDecimal salaryAct;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("更新人员")
    private String updateUser;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private LocalDateTime updateDate;

    private String salaryFlag;

    private String cfmFlag;

    @ApiModelProperty("是否有调岗记录")
    private String flag;

    @ApiModelProperty("电话号码")
    private String mobileNo;

    @ApiModelProperty("停车费")
    private BigDecimal carFee;
}
